package net.ericaro.neojavagen.expressions;

/**
 * <b>ShiftExpression</b> ::= <{@link net .ericaro .neojavagen .expressions .AdditiveExpression AdditiveExpression}> <
 * {@link net .ericaro .neojavagen .expressions .ShiftExpressionRest ShiftExpressionRest}>?
 * 
 * @author eric@ericaro.net
 */
public class ShiftExpression extends net.ericaro.neojavagen.JavaPartComposition {
	private net.ericaro.neojavagen.expressions.AdditiveExpression additiveExpression;

	private net.ericaro.neojavagen.expressions.ShiftExpressionRest shiftExpressionRest;

	public ShiftExpression(net.ericaro.neojavagen.expressions.AdditiveExpression additiveExpression) {
		this.additiveExpression = additiveExpression;
		this.shiftExpressionRest = null;
	}

	public ShiftExpression(net.ericaro.neojavagen.expressions.AdditiveExpression additiveExpression, net.ericaro.neojavagen.expressions.ShiftExpressionRest shiftExpressionRest) {
		super();
		this.additiveExpression = additiveExpression;
		this.shiftExpressionRest = shiftExpressionRest;
	}

	public net.ericaro.neojavagen.expressions.AdditiveExpression getAdditiveExpression() {
		return additiveExpression;
	}

	public net.ericaro.neojavagen.expressions.ShiftExpressionRest getShiftExpressionRest() {
		return shiftExpressionRest;
	}

	public void setAdditiveExpression(net.ericaro.neojavagen.expressions.AdditiveExpression additiveExpression) {
		this.additiveExpression = additiveExpression;
	}

	public void setShiftExpressionRest(net.ericaro.neojavagen.expressions.ShiftExpressionRest shiftExpressionRest) {
		this.shiftExpressionRest = shiftExpressionRest;
	}

	@Override
	public java.lang.String toString() {
		return print(additiveExpression, shiftExpressionRest);
	}
}
